#pragma once

#include <uam/UserAccountManager.h>

#include <QWidget>

#include "../Filter/FilterInterface.h"

class BestQuoteFilterContainer;
class BestQuoteTable;
class BestQuoteDeal;
class SSplitter;

class BestQuoteDlg : public QWidget {
  Q_OBJECT
 public:
  BestQuoteDlg(QWidget* parent);

  CBrokerUnit getCurBroker();
  FilterCondition getCurFilter();
  FilterCondition& getFilterCondition();
  bool selValidCompany();
  void displayBrokerSortDlg();

 Q_SIGNALS:
  void filterChange();

 protected slots:
  void onDealCollapsed(bool v);
  void onFilterChange();

 private:
  BestQuoteFilterContainer* m_filter = nullptr;
  BestQuoteTable* m_table = nullptr;
  BestQuoteDeal* m_deal = nullptr;
  SSplitter* m_splitter = nullptr;
  QList<int> m_prevousHeight;
};